package com.ruoyi.safe.service;

import java.util.List;
import com.ruoyi.safe.domain.BizCatalogDetail;
import com.ruoyi.safe.domain.dto.BizCatalogDetailRelateAttachDTO;

/**
 * 业内资料目录-详情Service接口
 * 
 * @author ruoyi
 * @date 2023-12-15
 */
public interface IBizCatalogDetailService 
{
    /**
     * 查询业内资料目录-详情
     * 
     * @param id 业内资料目录-详情主键
     * @return 业内资料目录-详情
     */
    public BizCatalogDetail selectBizCatalogDetailById(Long id);

    /**
     * 查询业内资料目录-详情列表
     * 
     * @param bizCatalogDetail 业内资料目录-详情
     * @return 业内资料目录-详情集合
     */
    public List<BizCatalogDetail> selectBizCatalogDetailList(BizCatalogDetail bizCatalogDetail);

    /**
     * 新增业内资料目录-详情
     * 
     * @param bizCatalogDetail 业内资料目录-详情
     * @return 结果
     */
    public int insertBizCatalogDetail(BizCatalogDetail bizCatalogDetail);

    /**
     * 修改业内资料目录-详情
     * 
     * @param bizCatalogDetail 业内资料目录-详情
     * @return 结果
     */
    public int updateBizCatalogDetail(BizCatalogDetail bizCatalogDetail);

    /**
     * 批量删除业内资料目录-详情
     * 
     * @param ids 需要删除的业内资料目录-详情主键集合
     * @return 结果
     */
    public int deleteBizCatalogDetailByIds(Long[] ids);

    /**
     * 删除业内资料目录-详情信息
     * 
     * @param id 业内资料目录-详情主键
     * @return 结果
     */
    public int deleteBizCatalogDetailById(Long id);

    /**
     * 根据目录id查询详情列表
     * @param catalogId
     * @return
     */
    List<BizCatalogDetail> selectListByCatalogId(Long catalogId);

    /**
     * 新建下级
     * @param bizCatalogDetail
     * @return
     */
    int insertLower(Long parentId,BizCatalogDetail bizCatalogDetail);

    /**
     * 关联附件
     * @param bizCatalogDetailRelateAttachDTO
     * @return
     */
    int relateAttaches(BizCatalogDetailRelateAttachDTO bizCatalogDetailRelateAttachDTO);
}
